/**
 * @param {number} pageNum 设置每页多少条数据
 * @param {boolean} flag  设置每页是否带表头，true带表头，false不带
 * 没有实现 TR 样式中如出现  page-break-before: always; 则立即分页。
 */
function setPage(pageNum, flag) {
    let page;  //一共多少页
    let trNum = 0; //用于遍历tr的数
    let originHtml = document.getElementsByClassName("layui-container-fluid")[0];//要操作的原始页面
    let dataNum= originHtml.getElementsByTagName("tbody")[0].getElementsByTagName("tr").length;
    page = Math.ceil(dataNum / pageNum);  //得到多少页
    for (let i = 0; i < page; i++) {
        //创建最外层div
        let divLayui = document.createElement("div");
        divLayui.setAttribute("class", "layui-container-fluid")
        divLayui.style.pageBreakBefore = "always"
        //创建boxdiv(是divLayui的子元素)
        let box = document.createElement("div");
        box.setAttribute("class", "box")
        //创建rptHeader
        let rptHeader = document.createElement("div");
        rptHeader.setAttribute("id", "rpt_header");
        rptHeader.innerHTML = originHtml.querySelector("#rpt_header").innerHTML;
        //设置页数，第几页
        rptHeader.querySelector("#rpt_npage").innerHTML = page
        rptHeader.querySelector("#rpt_tpage").innerHTML = i + 1;
        box.appendChild(rptHeader)
        let style = document.createElement("style")
        style.innerHTML = originHtml.getElementsByClassName("box")[0].getElementsByTagName("style")[0].innerHTML;
        box.appendChild(style)
        divLayui.appendChild(box)
        //创建table（是box的子元素)
        let table = document.createElement("table");
        table.setAttribute("class", "tg");
        table.setAttribute("style", "undefined;table-layout: fixed; width: 1800px")
        //创建colgroup（是table的子元素)
        let colgroup = document.createElement("colgroup");
        colgroup.innerHTML = originHtml.getElementsByTagName("colgroup")[0].innerHTML
        table.appendChild(colgroup)
        if (flag == true) {
            console.log("带有表头")
            let thead = document.createElement("thead");
            thead.innerHTML = originHtml.querySelector("thead").innerHTML
            table.appendChild(thead)
        }
        //创建tbody（是table的子元素)
        let tbody = document.createElement("tbody");
        for (let j = 0; j < pageNum; j++) {
            let tr = document.createElement("tr")
            if(trNum<dataNum && originHtml.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[trNum]){
                tr.innerHTML = originHtml.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[trNum].innerHTML;
            }
            trNum++;
            tbody.appendChild(tr);
        }
        table.appendChild(tbody)
        box.appendChild(table)
        //创建divFooter(是table的子元素)
        let divFooter = document.createElement("div")
        divFooter.setAttribute("id", "rpt_footer")
        divFooter.innerHTML = originHtml.querySelector("#rpt_footer").innerHTML
        box.appendChild(divFooter)
        originHtml.parentNode.insertBefore(divLayui, originHtml)
    }
    originHtml.remove();
}
//调用方法
setPage(10, true)
